$(document).ready(init_actividad)

/*funcion que se ejecuta cuando carga de la pagina*/
function init_actividad(){
    // cargar_actividad();
    $("#nuevaActividadBtn").button({
        icons: {
            primary: 'ui-icon-plusthick'
        }
    });

    $("#buscarBtn").button({
        icons: {
            primary: 'ui-icon-search'
        },
        text: false
    });

    $("#clearBtn").button({
        icons: {
            primary: 'ui-icon-arrowthick-1-w'
        },
        text: false
    });
                    
    $("#ayudaBtn").button({
        icons: {
            primary: 'ui-icon-help'
        },
        text: false
    });
   
    //cargar campos con combos
    $("#id_grupoqx").load("/salus/AdministrarServlet", {
        op:"-8"
    });
    $("#id_manual").load("/salus/AdministrarServlet", {
        op:"-7"
    });
    $("#id_grupo_actividad").load("/salus/AdministrarServlet", {
        op:"-9"
    });
    $("#id_tipo_registro").load("/salus/AdministrarServlet", {
        op:"-10"
    });
    $("#id_centro_costo").load("/salus/AdministrarServlet", {
        op:"-4"
    });   
    $("#id_especialidad").load("/salus/AdministrarServlet", {
        op:"-6"
    });   
   

    $("#nuevaActividadBtn").click(function(){        
        clear_form_elements($("#formActividad"));
        
        mostrar_campos({
            id:"",
            codigo:"",
            descripcion:"",
            id_grupoqx:"",
            id_manual:"",
            id_grupo_actividad:"",
            id_tipo_registro:"",
            id_centro_costo:"",            
            insumo:"",
            riprn:"",
            ripestancia:"",
            doblevia:"",
            edad1:"",
            medida1:"",
            edad2:"",
            medida2:"",
            habilitada:"",
            id_sexo:"",
            id_especialidad:"",
            op:"nuevo"
        });

        formularioActividad();
    })


    $("#formActividad").validate({
        rules:{            
            codigo:{
                required:true
            },
            descripcion:{
                required:true
            },
            id_manual:{
                required:true
            }
        }
    })

    $("#buscarBtn").click(buscar_actividad);
    
    $("#buscarCod").keypress(function(ev){
        if(ev.keyCode==13){       
            buscar_actividad()
        }
    })
    $("#buscarDes").keypress(function(ev){
        if(ev.keyCode==13){       
            buscar_actividad()
        }
    })
    
    $("#buscarCod").keyup(function(){
        $("#buscarDes").val("");
    })
    $("#buscarDes").keyup(function(){
        $("#buscarCod").val("");
    })
    
    $("#clearBtn").click(limpiarBusqueda);



    $("#insumo").change(function(){
        if(this.checked){
            $("#vinsumo").val('On');
        }else{
            $("#vinsumo").val('Off');
        }
    })
    $("#riprn").change(function(){
        if(this.checked){
            $("#vriprn").val('On');
        }else{
            $("#vriprn").val('Off');
        }
    })
    $("#ripestancia").change(function(){
        if(this.checked){
            $("#vripestancia").val('On');
        }else{
            $("#vripestancia").val('Off');
        }
    })
    $("#doblevia").change(function(){
        if(this.checked){
            $("#vdoblevia").val('On');
        }else{
            $("#vdoblevia").val('Off');
        }
    })
    $("#habilitada").change(function(){
        if(this.checked){
            $("#vhabilitada").val('On');
        }else{
            $("#vhabilitada").val('Off');
        }
    })


    // $("#id_manual").blur(validarActividad)
    // $("#codigo").blur(validarActividad)

    $("#edad1").numeric();
    $("#edad2").numeric();

    /*AYUDA*/
    $('#ayudaBtn').qtip({
        content: '<b style="color:red">*</b> Para editar una actividad, haga doble click sobre el registro seleccionado<br /><b style="color:red">*</b> Para buscar un registro utilice los campos del pie de cada columna',
        show: 'mouseover',
        hide: 'mouseout',
        style: {
            name: 'cream', 
            border: {
                width: 3,
                radius: 8                                         
            },
            width: 200,
            tip: { // Now an object instead of a string
                corner: 'topRight', // We declare our corner within the object using the corner sub-option
                color: 'orange',
                size: {
                    x: 20, // Be careful that the x and y values refer to coordinates on screen, not height or width.
                    y : 8 // Depending on which corner your tooltip is at, x and y could mean either height or width!
                }
            }
        },
        position: {
            corner: {
                target: 'bottomLeft',
                tooltip: 'topRight'
            },
            container: $('div.tooltips')                          
        }
    })


}


/*Muestra el dialogo para capturar los datos de la tabla*/
function formularioActividad(){
    $("#actividad-form").dialog({
        height: 590,
        width: 750,
        modal: true,
        title:"Actividad",
        buttons:{
            "Cancelar":function(){
                $(this).dialog("close")
            },
            "Guardar":                                
            function(){
                if($("#op").val()=='nuevo'){
                    validarActividad()
                }else{
                    guardar_actividad()
                }                              
                                
            }
                                
                                
        }
    });
}


/*Guarda los datos de la tabla*/
function guardar_actividad(){
    
    if ($("#formActividad").valid()){
        var form = $("#formActividad");
        var op=$("#op").val()+"_actividad";

        var formLocal={
            id:$("#id").val(),
            codigo:$("#codigo").val(),
            descripcion:$("#descripcion").val()
        };
        $.ajax({
            type:'POST',
            url:'/salus/AdministrarSetServlet',
            data:form.serialize()+"&op="+op,
            success:function(data) {

                var resp = data.split("_");

                if(resp[0] == "editar" ){                
                    edit_actividad(formLocal)
                    $("#actividad-form").dialog("close")
                    window.location.reload()
                }else {                
                    add_actividad(formLocal)
                    $("#actividad-form").dialog("close")
                    window.location.reload()
                }
           
        
       
            }
        });
    }
}


/*Actualiza los datos en la grilla, despues de actualizar los datos*/
function edit_actividad(actividad){
    $("#actividad-"+actividad.id+"-codigo").text(actividad.codigo)
    $("#actividad-"+actividad.id+"-descripcion").text(actividad.descripcion)
}


/*Crea dinamicamente la grilla, dependiendo de la respuesta de la base de datos in(json)*/
function add_actividad(actividad){
    var tbody=$("#tabla-actividad-body")
    var tr=$("<tr/>").attr("id","actividad-"+actividad.id).appendTo(tbody);
    $("<td/>").appendTo(tr).append(actividad.codigo).attr("id","actividad-"+actividad.id+"-codigo");
    $("<td/>").appendTo(tr).append(actividad.descripcion).attr("id","actividad-"+actividad.id+"-descripcion");

    var aBorrar=$("<a/>").text("Borrar").addClass("borrar").attr("href","#").click(function(){
        if (confirm("¿Desea borrar este asignatura?")){
            $.post("set_data.php",{
                op:"borrar_asignatura",
                id:actividad.id
            },function(data){
                var resp=JSON.parse(data);
                if (resp.estado=="OK"){
                    $("#actividad-"+actividad.id).remove();
                }
            }
            )
        }
        return false;
    })

    var aEditar=$("<a/>").text("Editar").addClass("editar").attr("href","#").click(function(){
        $.getJSON("/salus/AdministrarEditServlet", {
            op:"5",
            id:actividad.id
        }, function(data){            
            data.op="editar";
            mostrar_campos(data);
            formularioActividad();
        })
        return false;
    })

    $("<td/>").append(aEditar).append(aBorrar).appendTo(tr)

}

function editar(id){
    $.getJSON("/salus/AdministrarEditServlet", {
        op:"5",
        id:id
    }, function(data){            
        data.op="editar";
        mostrar_campos(data);
        formularioActividad();
    })
}

/*Llena el formulario de edicion con los datos retornados via json*/
function mostrar_campos(actividad){
    $("#op").val(actividad.op)
    $("#id").val(actividad.id)
    $("#codigo").val(actividad.codigo)
    $("#descripcion").val(actividad.descripcion)
    $("#id_grupoqx").val(actividad.id_grupoqx)
    $("#id_manual").val(actividad.id_manual)
    $("#id_grupo_actividad").val(actividad.id_grupo_actividad)
    $("#id_tipo_registro").val(actividad.id_tipo_registro)
    $("#id_centro_costo").val(actividad.id_centro_costo)

    if(actividad.insumo=="true"){
        $("#insumo").attr("checked", "true");
        $("#vinsumo").val(actividad.insumo)
    }
    if(actividad.riprn=="true"){
        $("#riprn").attr("checked", "true");
        $("#vriprn").val(actividad.riprn)
    }
    if(actividad.ripestancia=="true"){
        $("#ripestancia").attr("checked", "true");
        $("#vripestancia").val(actividad.ripestancia)
    }
    if(actividad.doblevia=="true"){
        $("#doblevia").attr("checked", "true");
        $("#vdoblevia").val(actividad.doblevia)
    }
    if(actividad.habilitada=="true"){
        $("#habilitada").attr("checked", "true");
        $("#vhabilitada").val(actividad.habilitada)
    }
    
    $("#edad1").val(actividad.edad1)
    $("#medida1").val(actividad.medida1)
    $("#edad2").val(actividad.edad2)
    $("#medida2").val(actividad.medida2)
    $("#habilitada").val(actividad.habilitada)
    $("#sexo").val(actividad.id_sexo)
    $("#id_especialidad").val(actividad.id_especialidad)
    $("label.error").remove()
}


/*Trae los datos de la base de datos en un objeto json*/
function cargar_actividad(){
    $.getJSON("/salus/AdministrarServlet", {
        op:"5",
        cod:$("#buscarCod").val(),
        des:$("#buscarDes").val()
    }, function(data){
        $.each(data, function(i,item){
            add_actividad(item)
        })
        $("#tabla-actividad").addClass("tablesorter").tablesorter({
            widthFixed: true,
            widgets: ['zebra']
        }).tablesorterPager({
            container: $("#pager")
        })
    })
}


/*gestiona la busqueda de datos en la grilla, por codigo y descripcion*/
function buscar_actividad(){

    if($("#buscarCod").val()==""&&$("#buscarDes").val()==""){
        //window.location.reload();
        alert('Debe digitar un dato de busqueda')
    }else{
        $("#tabla-actividad-body tr").remove();
        $("#tabla-actividad colgroup").remove();
    
    
        /*    
    $.getJSON("/salus/AdministrarServlet", {
        op:"5",
        cod:$("#buscarCod").val(),
        des:$("#buscarDes").val()
    }, function(data){     
        
        if(data.length>0){
        
        $.each(eval(data), function(i,item){
            add_actividad(item)
        })
        $("#tabla-actividad").addClass("tablesorter").tablesorter({
            widthFixed: true,
            widgets: ['zebra']
        }).tablesorterPager({
            container: $("#pager")
            })
        }else{
            alert('No se encontraron registros')
        }                        
    })
    */
    
        var pars = "op=5"+"&cod="+$("#buscarCod").val()+"&des="+$("#buscarDes").val();
        $.ajax({
            url: "/salus/AdministrarServlet",
            dataType: 'json',
            data: pars,
            async:false,
            success: function(data){                 
                  
                  
                if(data.length>0){        
                    $.each(eval(data), function(i,item){
                        add_actividad(item)
                    })
                    $("#tabla-actividad").addClass("tablesorter").tablesorter({
                        widthFixed: true,
                        widgets: ['zebra']
                    }).tablesorterPager({
                        container: $("#pager")
                    })
                }else{
                    alert('No se encontraron registros')
                }
                    
                    
                    
            }
        });
    
    
    
    
    

    }
}


/*clarea los datos del formulario de busqueda*/
function limpiarBusqueda(){
    $("#buscarCod").val("");
    $("#buscarDes").val("");    
}


function validarActividad(){
    var codigo = $("#codigo").val();
    var manual = $("#id_manual").val();
    
    jQuery.ajax({
        type: "POST",
        url: "/salus/ValidarFormularioServlet",
        data: "op=3&num="+codigo+"&manual="+manual,
        dataType: 'json',
        async:false,
        success: function(msg){
            
            if(msg.error=='1'){
                $("#error_num").html("<b style='color:orange'>El codigo ya existe para el manual seleccionado</b>");
                $("#codigo").val("")
                $("#codigo").focus();
            }else{
                //$("#error_num").html("");
                guardar_actividad()
            }
        }

    });
}



function clear_form_elements(ele) {

    $(ele).find(':input').each(function() {
        switch(this.type) {
            case 'password':
            case 'select-multiple':
            case 'select-one':
            case 'text':
            case 'file':
            case 'textarea':
                $(this).val('');
                break;
            case 'checkbox':
            case 'radio':
                this.checked = false;
        }
    });

}